package desmontec.sistema

import desmontec.util.Constantes;


class SecUser {

	//fernando.alves - inicio
	static final String PASSWORD = "******"
	Date dataValidade
	String email
	String nome
	//fernando.avles - fim
	
	String username
	String password
	boolean enabled
	boolean accountExpired
	boolean accountLocked
	boolean passwordExpired
	

	// lenin.medeiros - INICIO
	static constraints = {
		username blank: false, unique: true, size:5..10		
		password blank: false, size:5..64
		nome blank: false
		email blank: false, email :true, unique:true
	}
	// lenin.medeiros - FIM

	static mapping = {
		password column: '`password`'
	}

	Set<SecRole> getAuthorities() {
		SecUserSecRole.findAllBySecUser(this).collect { it.secRole } as Set
	}
	
	//fernando.alves - inicio
	boolean ehAdmin(){
		for (a in getAuthorities()){
			if (a.authority == Constantes.ADMINISTRADOR){
				return true
			}
		}
		return false;
	}
	
	String toString(){
		return "Usuario : " + "${this.nome}"+ " Login: "+"${this.username}";
	}
	
	String dataValidadeString(){
		int dia = dataValidade.getDate()
		int ano = 1900 + dataValidade.getYear()
		int mes = dataValidade.getMonth()+1
		return dia+"/"+mes+"/"+ano
	}
	//fernando.alves - fim
	
}
